class Object
  
  def in?(obj)
    raise NoMethodError, "cannot check if #{self.inspect} is in #{obj.inspect}"  unless obj.respond_to?(:include?);
    obj.include?(self);
  end
  
end

class String

  def /(n)
    (split(" ") / n).map{|obj| obj.join(" ")};
  end

  def -(str)
    gsub(str, "");
  end

end

class Array
  
  def /(n)
    inject([[]]) do |array, obj|
      if array.last.size == n
        array << [obj];
      else
        array.last << obj;
      end
      array;
    end
  end
  
end

array = %w(banana amendoin pessego morango macarr�o leite queijo acerola a�ai batata carne)
string = "uma string pode ser, agora, dividida em peda�os menores, ou string tamb�m! pode ser diminuida, com sub";

p(lambda{

res = [
array  / 4,
string / 4,
string - "string",
"string".in?(string),
#"la".in?(//)
]

res


}.call)